#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "navbtn.h"
#include "handtopbtn.h"
#include "parameterbtn.h"
#include <QMap>
#include <QTimer>
#include <QSerialPort>
#include <QMessageBox>
#include <QFile>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
#include "monitorwidget.h"
#include "handwidget.h"
#include "paramterwidget.h"
#include "comm.h"

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    void init();

    //初始化监控界面
    void initMonitorForm();

    //初始化手动界面
    void initHandForm();

    //初始化参数界面
    void initParamterForm();

    void db_init();  //数据库初始化函数

    bool db_update();

    bool db_select();


private slots:
   void readbuffer();
   void ser_init(int b); //串口初始化

private:
    Ui::MainWindow *ui;
    QSerialPort *seriaport; //串口

    struct data dd;

    MonitorWidget* m_MonitorWidget;//监控界面

    HandWidget* m_HandWidget;//手动界面
    ParamterWidget* m_ParamterWidget;//参数界面

    QMap<QString,NavBtn*> m_NavBtnMap;//导航栏按钮
    QTimer m_timer;

    bool messageBox;
};
#endif // MAINWINDOW_H
